1. Field of the Invention
This invention pertains generally to network communications, and more particularly to redirecting requests for content to a particular content server in a group of content servers based on a cost function indicative of operational characteristics of the network, such as network performance.
2. Description of the Background Art
One of the most common complaints of Internet users is that it simply takes too much time to access information. This is a particular concern for online vendors conducting e-commerce transactions. Many customers or potential customers may not return to a site if access is too slow, their browser locks up in the middle of a transaction, transactions are duplicated because they resubmit information as a result of believing that their browser has locked up during a transaction, or they are otherwise dissatisfied with the overall speed of accessing the site. While some of the problems experienced can be caused by the site itself, many of the problems experienced today are due to network performance.
One of the causes of unacceptable network performance is due to the fact that the Internet is a network of interconnected networks. As a result, more than one path may exist between the location at which the data originates and the destination to which the data will be delivered. Typically data is transmitted in “packets” which include a destination address. However, there is no guarantee that the route assigned to the data to reach that destination address will be the most efficient at all times due to the dynamic nature of network capability. For example, a path that is free at one point in time may become congested at another point in time. Or, a portion of the network may become unavailable, thus causing the packets to be re-routed after leaving the point of origin. Further, a network carrier who provides a portion of the intermediate path send the packets to another network carrier through a network access point if the destination is not a customer of that carrier, thereby resulting in data loss or additional re-routing. As can be seen, therefore, the packets must hop from network to network to reach their destination. The result is that each hop can contribute to additional delivery delay, or even cause a loss of data. The delivery delay that may be experienced can have a detrimental effect on the data transmission, and can be analogized to the decibel (db) loss experienced when signals are transmitted through a lossy medium.
Rather than pursue routing solutions, a number of companies are pursuing “content delivery” techniques in an attempt to enhance performance on the Internet. These content delivery techniques include caching, intelligent routing, and content optimizing, as described below.
For example, when an internet browser sends a request for a Web page, it first receives a hypertext markup language (HTML) file from the site that describes the Web page. The browser then sends one or more requests for the embedded files displayed on the Web page, such as images, audio clips, or video; that is the content. As can be seen, this process requires two or more requests for information to be made from the user to the Web page, thus having a direct impact on delivery time. To reduce the delivery time, some “content providers” cache the site's content on multiple servers at different geographical (physical) locations. Then, when a browser sends a request for a Web page, the HTML file that is sent back is accompanied by an internet protocol (IP) address that directs the browser to the geographically or topologically closest server that caches the content. The theory behind this approach is that the path to the server that is geographically or topologically closest to the user will be the fastest path.
A refinement of the foregoing approach has been to optimize content and route the content based on demand. For example, the content of a Web page can be separated into “objects” representing images, video, text, and audio which are then ranked by user demand. Based on this ranking, the objects are cached at servers that are geographically closest to the users demanding access to the objects. To do so, a real-time map of Internet traffic is maintained for determining to which servers to send the objects for caching based on demand.
While the foregoing techniques are designed to speed delivery of content to users, they all suffer from a common drawback; namely, that the path to the geographically closest location to the user may not be the optimum path. To the contrary, a path to an entirely different server that may not be the geographically or topologically closest may provide for a faster response time. Furthermore, such techniques do not direct a user to a particular content server based on a cost function in a closed loop system. Therefore, a need exists for a method and system for providing a user with the IP address of a content server based on criteria other than geography or topology alone. The present invention satisfies that need, as well as others, and overcomes the deficiencies in current techniques.